package cn.fbs.dao.mysql;

import cn.fbs.model.TVideoInfo;
import cn.fbs.param.SearchParam;
import cn.fbs.vo.TVideoInfoVo;
import cn.fbs.vo.TVideoItemVo;
import cn.fbs.vo.VideoEvaluateVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface TVideoInfoMapper {
    int deleteByPrimaryKey(Long id);

    int insert(TVideoInfo record);

    int insertSelective(TVideoInfo record);

    TVideoInfo selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(TVideoInfo record);

    int updateByPrimaryKeyWithBLOBs(TVideoInfo record);

    int updateByPrimaryKey(TVideoInfo record);

    List<TVideoInfoVo> selectProductByTargetType(Long targetType);


    List<TVideoInfoVo> selectProductByTargetTypes(@Param("targetTypes") String targetTypes,@Param("searchName") String searchName);

    void deleteByIds(@Param("idsStr") String idsStr);

    List<TVideoInfoVo> searchVideoInfoVo(@Param("searchParam") SearchParam searchParam);

    List<TVideoInfoVo> selectVideoByIds(@Param("searchParam") SearchParam searchParam);

    TVideoItemVo getVideoItem(Integer id);

    VideoEvaluateVo getVideoEvaluate(Long id);

    List<Object> selectByIdsStr(@Param("idsStr") String idsStr);

    List<Map<String, Object>> getVideoStatistics();

    TVideoInfo getVideoByFileUrl(@Param("fileUrl") String fileUrl);
}